home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1996-06-01 | 4.5 KB | [ ftFC/NLft]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
You can browse this item here: Projection 3D
Confidence Program Detection Match Type Support
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
100%
file
MacBinary II, Sat Jun 1 12:31:54 1996, modified Sat Jun 1 12:31:54 1996, creator 'NLft', type 'ftFC', 3573 bytes "Projection 3D" , at 0xe75 815 bytes resource
default (weak)
99%
file
data
default
100%
TrID
MacBinary 2
default (weak)
100%
lsar
MacBinary
default
id metadata key value macFileType [ ftFC] macFileCreator [ NLft]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0d 50 72 6f 6a 65 63 | 74 69 6f 6e 20 33 44 00 |..Projec|tion 3D.| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 66 74 46 43 4e 4c 66 | 74 00 00 00 00 00 00 00 |.ftFCNLf|t.......| |00000050| 00 00 00 00 00 0d f5 00 | 00 03 2f ad d6 20 fa ad |........|../.. ..| |00000060| d6 20 fa 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |. ......|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 05 55 00 00 |........|.....U..| |00000080| 7b 0d 20 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d |{. this| program| |00000090| 20 74 61 6b 65 73 20 61 | 20 74 68 72 65 65 20 64 | takes a| three d| |000000a0| 69 6d 65 6e 73 69 6f 6e | 61 6c 20 64 61 74 61 20 |imension|al data | |000000b0| 73 65 74 2c 20 64 65 66 | 69 6e 65 64 20 62 79 20 |set, def|ined by | |000000c0| 69 74 73 20 78 2d 2c 20 | 79 2d 2c 20 61 6e 64 20 |its x-, |y-, and | |000000d0| 7a 2d 20 63 6f 6f 72 64 | 69 6e 61 74 65 73 2c 20 |z- coord|inates, | |000000e0| 61 6e 64 20 70 72 6f 6a | 65 63 74 73 0d 20 20 69 |and proj|ects. i| |000000f0| 74 73 20 70 6f 69 6e 74 | 73 20 6f 6e 74 6f 20 74 |ts point|s onto t| |00000100| 68 65 20 70 6c 61 6e 65 | 20 70 65 72 70 65 6e 64 |he plane| perpend| |00000110| 69 63 75 6c 61 72 20 74 | 6f 20 61 20 76 65 63 74 |icular t|o a vect| |00000120| 6f 72 20 65 20 20 69 6e | 20 73 75 63 68 20 61 20 |or e in| such a | |00000130| 77 61 79 20 74 68 61 74 | 20 74 68 65 20 70 6f 73 |way that| the pos| |00000140| 69 74 69 6f 6e 20 76 65 | 63 74 6f 72 20 6f 66 20 |ition ve|ctor of | |00000150| 0d 20 20 74 68 65 20 66 | 69 72 73 74 20 70 6f 69 |. the f|irst poi| |00000160| 6e 74 20 28 69 2e 65 2e | 20 74 68 65 20 6f 6e 65 |nt (i.e.| the one| |00000170| 20 69 6e 20 74 68 65 20 | 66 69 72 73 74 20 6e 6f | in the |first no| |00000180| 6e 20 65 6d 70 74 79 20 | 72 6f 77 20 6f 66 20 74 |n empty |row of t| |00000190| 68 65 20 78 2d 79 2d 7a | 20 63 6f 6c 75 6d 6e 73 |he x-y-z| columns| |000001a0| 29 20 74 68 61 74 20 69 | 73 20 72 65 61 64 20 69 |) that i|s read i| |000001b0| 6e 20 69 73 20 0d 20 20 | 6d 61 64 65 20 76 65 72 |n is . |made ver| |000001c0| 74 69 63 61 6c 2e 20 0d | 20 20 54 68 65 20 74 77 |tical. .| The tw| |000001d0| 6f 20 64 69 6d 65 6e 73 | 69 6f 6e 61 6c 20 70 69 |o dimens|ional pi| |000001e0| 63 74 75 72 65 20 6f 62 | 74 61 69 6e 65 64 20 62 |cture ob|tained b| |000001f0| 79 20 74 68 65 20 70 72 | 6f 6a 65 63 74 69 6f 6e |y the pr|ojection| |00000200| 20 69 73 20 74 68 65 6e | 20 72 6f 74 61 74 65 64 | is then| rotated| |00000210| 20 62 79 20 61 6e 20 61 | 6e 67 6c 65 20 70 68 69 | by an a|ngle phi| |00000220| 2e 0d 20 20 0d 20 20 54 | 68 65 20 72 65 73 75 6c |.. . T|he resul| |00000230| 74 69 6e 67 20 64 61 74 | 61 20 73 65 74 20 69 73 |ting dat|a set is| |00000240| 20 73 74 6f 72 65 64 20 | 69 6e 20 74 77 6f 20 64 | stored |in two d| |00000250| 61 74 61 20 63 6f 6c 75 | 6d 6e 73 2e 0d 20 20 0d |ata colu|mns.. .| |00000260| 20 20 54 6f 20 6d 61 6b | 65 20 74 68 69 6e 67 73 | To mak|e things| |00000270| 20 66 61 73 74 65 72 2c | 20 74 68 65 20 70 72 6f | faster,| the pro| |00000280| 67 72 61 6d 20 61 73 73 | 75 6d 65 73 20 74 68 61 |gram ass|umes tha| |00000290| 74 20 69 66 20 74 68 65 | 20 78 43 6f 6c 20 63 6f |t if the| xCol co| |000002a0| 6e 74 61 69 6e 73 20 61 | 20 76 61 6c 69 64 0d 20 |ntains a| valid. | |000002b0| 20 6e 75 6d 62 65 72 2c | 20 61 6c 73 6f 20 79 43 | number,| also yC| |000002c0| 6f 6c 20 61 6e 64 20 7a | 43 6f 6c 20 64 6f 2e 0d |ol and z|Col do..| |000002d0| 20 20 0d 20 20 54 6f 20 | 75 73 65 20 74 68 69 73 | . To |use this| |000002e0| 20 70 72 6f 67 72 61 6d | 2c 20 63 68 6f 6f 73 65 | program|, choose| |000002f0| 20 22 41 64 64 20 54 6f | 20 4d 65 6e 75 22 20 66 | "Add To| Menu" f| |00000300| 72 6f 6d 20 74 68 65 20 | 4d 69 73 63 20 6d 65 6e |rom the |Misc men| |00000310| 75 20 28 6f 72 20 63 6c | 69 63 6b 20 74 68 65 20 |u (or cl|ick the | |00000320| 41 64 64 20 62 75 74 74 | 6f 6e 29 2e 0d 20 20 54 |Add butt|on).. T| |00000330| 68 65 6e 20 63 68 6f 6f | 73 65 20 74 68 65 20 70 |hen choo|se the p| |00000340| 72 6f 67 72 61 6d 27 73 | 20 6e 61 6d 65 20 66 72 |rogram's| name fr| |00000350| 6f 6d 20 74 68 65 20 4d | 69 73 63 20 6d 65 6e 75 |om the M|isc menu| |00000360| 2e 0d 0d 7d 0d 0d 70 72 | 6f 67 72 61 6d 20 50 72 |...}..pr|ogram Pr| |00000370| 6f 6a 65 63 74 69 6f 6e | 33 44 3b 0d 0d 76 61 72 |ojection|3D;..var| |00000380| 20 65 31 2c 65 32 2c 65 | 33 2c 70 68 69 2c 78 43 | e1,e2,e|3,phi,xC| |00000390| 6f 6c 2c 79 43 6f 6c 2c | 7a 43 6f 6c 3a 65 78 74 |ol,yCol,|zCol:ext| |000003a0| 65 6e 64 65 64 3b 0d 09 | 09 09 61 31 2c 61 32 2c |ended;..|..a1,a2,| |000003b0| 61 33 2c 62 31 2c 62 32 | 2c 62 33 2c 63 31 2c 63 |a3,b1,b2|,b3,c1,c| |000003c0| 32 2c 63 33 3a 65 78 74 | 65 6e 64 65 64 3b 0d 09 |2,c3:ext|ended;..| |000003d0| 09 09 78 78 2c 79 79 2c | 78 78 43 2c 79 79 43 2c |..xx,yy,|xxC,yyC,| |000003e0| 4c 2c 70 68 69 30 2c 20 | 43 6f 73 50 68 69 2c 20 |L,phi0, |CosPhi, | |000003f0| 53 69 6e 50 68 69 3a 65 | 78 74 65 6e 64 65 64 3b |SinPhi:e|xtended;| |00000400| 0d 09 09 09 69 3a 69 6e | 74 65 67 65 72 3b 0d 0d |....i:in|teger;..| |00000410| 70 72 6f 63 65 64 75 72 | 65 20 69 6e 69 74 69 61 |procedur|e initia| |00000420| 6c 69 7a 65 3b 0d 62 65 | 67 69 6e 0d 20 20 65 31 |lize;.be|gin. e1| |00000430| 3a 3d 31 3b 65 32 3a 3d | 31 3b 65 33 3a 3d 33 3b |:=1;e2:=|1;e3:=3;| |00000440| 70 68 69 3a 3d 30 3b 0d | 20 20 78 43 6f 6c 3a 3d |phi:=0;.| xCol:=| |00000450| 31 3b 79 43 6f 6c 3a 3d | 32 3b 7a 43 6f 6c 3a 3d |1;yCol:=|2;zCol:=| |00000460| 33 3b 78 78 43 3a 3d 34 | 3b 79 79 43 3a 3d 35 3b |3;xxC:=4|;yyC:=5;| |00000470| 0d 65 6e 64 3b 0d 0d 66 | 75 6e 63 74 69 6f 6e 20 |.end;..f|unction | |00000480| 73 70 28 78 31 2c 78 32 | 2c 78 33 2c 79 31 2c 79 |sp(x1,x2|,x3,y1,y| |00000490| 32 2c 79 33 3a 65 78 74 | 65 6e 64 65 64 29 3a 65 |2,y3:ext|ended):e| |000004a0| 78 74 65 6e 64 65 64 3b | 09 7b 73 63 61 6c 61 72 |xtended;|.{scalar| |000004b0| 20 70 72 6f 64 75 63 74 | 20 6f 66 20 74 77 6f 20 | product| of two | |000004c0| 76 65 63 74 6f 72 73 7d | 0d 62 65 67 69 6e 0d 73 |vectors}|.begin.s| |000004d0| 70 3a 3d 78 31 2a 79 31 | 2b 78 32 2a 79 32 2b 78 |p:=x1*y1|+x2*y2+x| |000004e0| 33 2a 79 33 0d 65 6e 64 | 3b 0d 0d 62 65 67 69 6e |3*y3.end|;..begin| |000004f0| 0d 7b 72 65 73 65 74 20 | 70 68 69 2e 20 53 65 65 |.{reset |phi. See| |00000500| 20 62 65 6c 6f 77 7d 0d | 70 68 69 3a 3d 28 70 68 | below}.|phi:=(ph| |00000510| 69 2d 70 68 69 30 29 2a | 31 38 30 2f 70 69 3b 0d |i-phi0)*|180/pi;.| |00000520| 7b 66 69 72 73 74 2c 20 | 61 73 6b 20 66 6f 72 20 |{first, |ask for | |00000530| 69 6e 70 75 74 20 61 6e | 64 20 6f 75 74 70 75 74 |input an|d output| |00000540| 20 63 6f 6c 75 6d 6e 73 | 7d 0d 53 65 74 42 6f 78 | columns|}.SetBox| |00000550| 54 69 74 6c 65 28 27 49 | 6e 70 75 74 20 61 6e 64 |Title('I|nput and| |00000560| 20 6f 75 74 70 75 74 20 | 63 6f 6c 75 6d 6e 73 27 | output |columns'| |00000570| 29 3b 0d 66 6f 72 20 69 | 3a 3d 31 20 74 6f 20 4e |);.for i|:=1 to N| |00000580| 72 43 6f 6c 73 20 64 6f | 20 0d 62 65 67 69 6e 0d |rCols do| .begin.| |00000590| 09 69 66 20 43 6f 6c 45 | 6d 70 74 79 28 69 29 20 |.if ColE|mpty(i) | |000005a0| 74 68 65 6e 20 6c 65 61 | 76 65 0d 65 6e 64 3b 0d |then lea|ve.end;.| |000005b0| 78 78 43 3a 3d 69 3b 0d | 66 6f 72 20 69 3a 3d 78 |xxC:=i;.|for i:=x| |000005c0| 78 43 2b 31 20 74 6f 20 | 4e 72 43 6f 6c 73 20 64 |xC+1 to |NrCols d| |000005d0| 6f 20 0d 62 65 67 69 6e | 0d 09 69 66 20 43 6f 6c |o .begin|..if Col| |000005e0| 45 6d 70 74 79 28 69 29 | 20 74 68 65 6e 20 6c 65 |Empty(i)| then le| |000005f0| 61 76 65 0d 65 6e 64 3b | 0d 79 79 43 3a 3d 69 3b |ave.end;|.yyC:=i;| |00000600| 0d 49 6e 70 75 74 28 27 | 24 43 78 20 43 6f 6c 75 |.Input('|$Cx Colu| |00000610| 6d 6e 27 2c 78 43 6f 6c | 2c 27 24 43 79 20 43 6f |mn',xCol|,'$Cy Co| |00000620| 6c 75 6d 27 2c 79 43 6f | 6c 2c 27 24 43 7a 20 43 |lum',yCo|l,'$Cz C| |00000630| 6f 6c 75 6d 27 2c 7a 43 | 6f 6c 2c 27 24 43 6f 75 |olum',zC|ol,'$Cou| |00000640| 74 70 75 74 20 78 20 43 | 6f 6c 27 2c 78 78 43 2c |tput x C|ol',xxC,| |00000650| 27 24 43 6f 75 74 70 75 | 74 20 79 2d 63 6f 6c 27 |'$Coutpu|t y-col'| |00000660| 2c 79 79 43 29 3b 0d 0d | 7b 74 68 65 6e 2c 20 61 |,yyC);..|{then, a| |00000670| 73 6b 20 74 68 65 20 76 | 69 65 77 69 6e 67 20 64 |sk the v|iewing d| |00000680| 69 72 65 63 74 69 6f 6e | 20 28 65 29 20 61 6e 64 |irection| (e) and| |00000690| 20 74 68 65 20 72 6f 74 | 61 74 69 6f 6e 20 61 6e | the rot|ation an| |000006a0| 67 6c 65 20 6f 66 20 74 | 68 65 20 66 69 6e 61 6c |gle of t|he final| |000006b0| 20 32 2d 44 20 6f 75 74 | 70 75 74 7d 0d 53 65 74 | 2-D out|put}.Set| |000006c0| 42 6f 78 54 69 74 6c 65 | 28 27 70 72 6f 6a 65 63 |BoxTitle|('projec| |000006d0| 74 69 6f 6e 20 64 69 72 | 65 63 74 69 6f 6e 20 61 |tion dir|ection a| |000006e0| 6e 64 20 72 6f 74 61 74 | 69 6f 6e 20 61 6e 67 6c |nd rotat|ion angl| |000006f0| 65 27 29 3b 0d 49 6e 70 | 75 74 28 27 65 31 3d 27 |e');.Inp|ut('e1='| |00000700| 2c 65 31 2c 27 65 32 3d | 27 2c 65 32 2c 27 65 33 |,e1,'e2=|',e2,'e3| |00000710| 3d 27 2c 65 33 2c 27 72 | 6f 74 61 74 69 6f 6e 20 |=',e3,'r|otation | |00000720| 61 6e 67 6c 65 27 2c 70 | 68 69 29 3b 0d 0d 7b 6e |angle',p|hi);..{n| |00000730| 6f 72 6d 61 6c 69 73 65 | 20 74 68 65 20 76 65 63 |ormalise| the vec| |00000740| 74 6f 72 20 65 7d 0d 09 | 09 4c 3a 3d 73 71 72 74 |tor e}..|.L:=sqrt| |00000750| 28 73 71 72 28 65 31 29 | 2b 73 71 72 28 65 32 29 |(sqr(e1)|+sqr(e2)| |00000760| 2b 73 71 72 28 65 33 29 | 29 3b 0d 09 09 65 31 3a |+sqr(e3)|);...e1:| |00000770| 3d 65 31 2f 4c 3b 0d 09 | 09 65 32 3a 3d 65 32 2f |=e1/L;..|.e2:=e2/| |00000780| 4c 3b 0d 09 09 65 33 3a | 3d 65 33 2f 4c 3b 0d 0d |L;...e3:|=e3/L;..| |00000790| 7b 66 69 6e 64 20 61 20 | 75 6e 69 74 20 76 65 63 |{find a |unit vec| |000007a0| 74 6f 72 20 61 20 70 65 | 72 70 65 6e 64 69 63 75 |tor a pe|rpendicu| |000007b0| 6c 61 72 20 74 6f 20 65 | 7d 0d 69 66 20 65 32 3d |lar to e|}.if e2=| |000007c0| 30 20 74 68 65 6e 20 62 | 65 67 69 6e 20 61 31 3a |0 then b|egin a1:| |000007d0| 3d 30 3b 61 32 3a 3d 31 | 3b 61 33 3a 3d 30 20 65 |=0;a2:=1|;a3:=0 e| |000007e0| 6e 64 20 65 6c 73 65 0d | 09 62 65 67 69 6e 0d 09 |nd else.|.begin..| |000007f0| 09 09 61 31 3a 3d 31 3b | 61 32 3a 3d 2d 65 31 2f |..a1:=1;|a2:=-e1/| |00000800| 65 32 3b 61 33 3a 3d 30 | 3b 0d 09 09 09 61 31 3a |e2;a3:=0|;....a1:| |00000810| 3d 61 31 2f 73 71 72 74 | 28 31 2b 73 71 72 28 61 |=a1/sqrt|(1+sqr(a| |00000820| 32 29 29 3b 0d 09 09 09 | 61 32 3a 3d 61 32 2f 73 |2));....|a2:=a2/s| |00000830| 71 72 74 28 31 2b 73 71 | 72 28 61 32 29 29 3b 0d |qrt(1+sq|r(a2));.| |00000840| 65 6e 64 3b 0d 0d 7b 63 | 61 6c 63 75 6c 61 74 65 |end;..{c|alculate| |00000850| 20 74 68 65 20 75 6e 69 | 74 20 76 65 63 74 6f 72 | the uni|t vector| |00000860| 20 70 65 72 70 65 6e 64 | 69 63 75 6c 61 72 20 74 | perpend|icular t| |00000870| 6f 20 62 6f 74 68 20 65 | 20 61 6e 64 20 61 3a 20 |o both e| and a: | |00000880| 63 72 6f 73 73 20 70 72 | 6f 64 75 63 74 21 7d 0d |cross pr|oduct!}.| |00000890| 62 31 3a 3d 65 32 2a 61 | 33 2d 65 33 2a 61 32 3b |b1:=e2*a|3-e3*a2;| |000008a0| 0d 62 32 3a 3d 65 33 2a | 61 31 2d 65 31 2a 61 33 |.b2:=e3*|a1-e1*a3| |000008b0| 3b 0d 62 33 3a 3d 65 31 | 2a 61 32 2d 65 32 2a 61 |;.b3:=e1|*a2-e2*a| |000008c0| 31 3b 0d 0d 69 3a 3d 30 | 3b 0d 72 65 70 65 61 74 |1;..i:=0|;.repeat| |000008d0| 20 69 3a 3d 69 2b 31 20 | 75 6e 74 69 6c 20 64 61 | i:=i+1 |until da| |000008e0| 74 61 6f 6b 28 69 2c 78 | 43 6f 6c 29 3b 20 7b 66 |taok(i,x|Col); {f| |000008f0| 69 6e 64 20 74 68 65 20 | 66 69 72 73 74 20 64 61 |ind the |first da| |00000900| 74 61 20 72 6f 77 7d 0d | 0d 7b 66 69 6e 64 20 74 |ta row}.|.{find t| |00000910| 68 65 20 6c 65 6e 67 74 | 68 20 4c 20 6f 66 20 74 |he lengt|h L of t| |00000920| 68 65 20 70 72 6f 6a 65 | 63 74 69 6f 6e 20 6f 66 |he proje|ction of| |00000930| 20 74 68 65 20 70 6f 73 | 69 74 69 6f 6e 20 76 65 | the pos|ition ve| |00000940| 63 74 6f 72 20 6f 6e 20 | 65 7d 0d 09 4c 3a 3d 73 |ctor on |e}..L:=s| |00000950| 70 28 64 61 74 61 5b 69 | 2c 78 43 6f 6c 5d 2c 64 |p(data[i|,xCol],d| |00000960| 61 74 61 5b 69 2c 79 43 | 6f 6c 5d 2c 64 61 74 61 |ata[i,yC|ol],data| |00000970| 5b 69 2c 7a 43 6f 6c 5d | 2c 65 31 2c 65 32 2c 65 |[i,zCol]|,e1,e2,e| |00000980| 33 29 3b 0d 09 0d 7b 66 | 69 6e 64 20 63 2c 20 74 |3);...{f|ind c, t| |00000990| 68 65 20 63 6f 6d 70 6f | 6e 65 6e 74 20 6f 66 20 |he compo|nent of | |000009a0| 74 68 65 20 70 6f 73 69 | 74 69 6f 6e 20 76 65 63 |the posi|tion vec| |000009b0| 74 6f 72 20 70 65 72 70 | 65 6e 64 69 63 75 6c 61 |tor perp|endicula| |000009c0| 72 20 74 6f 20 65 7d 0d | 09 63 31 3a 3d 64 61 74 |r to e}.|.c1:=dat| |000009d0| 61 5b 69 2c 78 43 6f 6c | 5d 2d 4c 2a 65 31 3b 63 |a[i,xCol|]-L*e1;c| |000009e0| 32 3a 3d 64 61 74 61 5b | 69 2c 79 43 6f 6c 5d 2d |2:=data[|i,yCol]-| |000009f0| 4c 2a 65 32 3b 63 33 3a | 3d 64 61 74 61 5b 69 2c |L*e2;c3:|=data[i,| |00000a00| 7a 43 6f 6c 5d 2d 4c 2a | 65 33 3b 0d 09 0d 7b 66 |zCol]-L*|e3;...{f| |00000a10| 69 6e 64 20 74 68 65 20 | 6c 65 6e 67 68 74 73 20 |ind the |lenghts | |00000a20| 78 78 20 61 6e 64 20 79 | 79 20 6f 66 20 74 68 65 |xx and y|y of the| |00000a30| 20 63 6f 6d 70 6f 6e 65 | 6e 74 73 20 6f 66 20 63 | compone|nts of c| |00000a40| 20 61 6c 6f 6e 67 20 74 | 68 65 20 75 6e 69 74 20 | along t|he unit | |00000a50| 76 65 63 74 6f 72 73 20 | 61 20 61 6e 64 20 62 7d |vectors |a and b}| |00000a60| 0d 09 78 78 3a 3d 73 70 | 28 63 31 2c 20 63 32 2c |..xx:=sp|(c1, c2,| |00000a70| 63 33 2c 61 31 2c 61 32 | 2c 61 33 29 3b 0d 09 79 |c3,a1,a2|,a3);..y| |00000a80| 79 3a 3d 73 70 28 63 31 | 2c 20 63 32 2c 63 33 2c |y:=sp(c1|, c2,c3,| |00000a90| 62 31 2c 62 32 2c 62 33 | 29 3b 0d 09 0d 7b 74 68 |b1,b2,b3|);...{th| |00000aa0| 65 20 66 69 72 73 74 20 | 70 6f 73 69 74 69 6f 6e |e first |position| |00000ab0| 20 76 65 63 74 6f 72 20 | 72 65 61 64 20 69 6e 20 | vector |read in | |00000ac0| 69 73 20 6d 61 64 65 20 | 76 65 72 74 69 63 61 6c |is made |vertical| |00000ad0| 20 62 79 20 64 65 66 61 | 75 6c 74 2c 20 64 6f 20 | by defa|ult, do | |00000ae0| 6e 6f 74 20 64 6f 20 69 | 74 20 69 66 20 74 68 65 |not do i|t if the| |00000af0| 20 70 72 6f 6a 65 63 74 | 69 6f 6e 20 6f 66 20 74 | project|ion of t| |00000b00| 68 65 20 70 6f 73 69 74 | 69 6f 6e 20 76 65 63 74 |he posit|ion vect| |00000b10| 6f 72 20 67 69 76 65 73 | 20 7a 65 72 6f 7d 0d 09 |or gives| zero}..| |00000b20| 69 66 20 28 78 78 3d 30 | 29 20 61 6e 64 20 28 79 |if (xx=0|) and (y| |00000b30| 79 3d 30 29 20 74 68 65 | 6e 20 70 68 69 30 3a 3d |y=0) the|n phi0:=| |00000b40| 30 20 65 6c 73 65 20 70 | 68 69 30 3a 3d 70 69 2f |0 else p|hi0:=pi/| |00000b50| 32 2d 61 72 63 74 61 6e | 28 79 79 2f 78 78 29 3b |2-arctan|(yy/xx);| |00000b60| 0d 09 7b 72 6f 74 61 74 | 69 6e 67 20 74 68 20 6f |..{rotat|ing th o| |00000b70| 75 74 70 75 74 20 62 79 | 20 70 68 69 30 20 70 72 |utput by| phi0 pr| |00000b80| 6f 64 75 63 65 73 20 76 | 65 72 74 69 63 61 6c 69 |oduces v|erticali| |00000b90| 74 79 20 6f 66 20 74 68 | 65 20 66 69 72 73 74 20 |ty of th|e first | |00000ba0| 70 6f 73 69 74 69 6f 6e | 20 76 65 63 74 6f 72 20 |position| vector | |00000bb0| 77 68 69 63 68 20 69 73 | 20 72 65 61 64 20 69 6e |which is| read in| |00000bc0| 7d 0d 09 7b 61 64 64 20 | 74 68 65 20 75 73 65 72 |}..{add |the user| |00000bd0| 20 64 65 66 69 6e 65 64 | 20 61 6e 67 6c 65 20 74 | defined| angle t| |00000be0| 6f 20 74 68 69 73 20 61 | 6e 67 6c 65 7d 0d 09 70 |o this a|ngle}..p| |00000bf0| 68 69 3a 3d 70 69 2a 70 | 68 69 2f 31 38 30 2b 70 |hi:=pi*p|hi/180+p| |00000c00| 68 69 30 3b 0d 09 0d 09 | 7b 63 61 6c 63 75 6c 61 |hi0;....|{calcula| |00000c10| 74 65 20 74 68 65 20 65 | 6c 65 6d 65 6e 74 73 20 |te the e|lements | |00000c20| 6f 66 20 74 68 65 20 72 | 6f 74 61 74 69 6f 6e 20 |of the r|otation | |00000c30| 6d 61 74 72 69 78 7d 0d | 09 43 6f 73 50 68 69 3a |matrix}.|.CosPhi:| |00000c40| 3d 63 6f 73 28 70 68 69 | 29 3b 53 69 6e 50 68 69 |=cos(phi|);SinPhi| |00000c50| 3a 3d 53 69 6e 28 70 68 | 69 29 3b 0d 09 0d 7b 73 |:=Sin(ph|i);...{s| |00000c60| 74 6f 72 65 20 74 68 65 | 20 72 6f 74 61 74 65 64 |tore the| rotated| |00000c70| 20 6f 75 74 70 75 74 20 | 69 6e 20 74 68 65 20 74 | output |in the t| |00000c80| 77 6f 20 6f 75 74 70 75 | 74 20 63 6f 6c 75 6d 6e |wo outpu|t column| |00000c90| 73 7d 0d 09 64 61 74 61 | 5b 69 2c 78 78 43 5d 3a |s}..data|[i,xxC]:| |00000ca0| 3d 78 78 2a 43 6f 73 50 | 68 69 2d 79 79 2a 53 69 |=xx*CosP|hi-yy*Si| |00000cb0| 6e 50 68 69 3b 0d 09 64 | 61 74 61 5b 69 2c 79 79 |nPhi;..d|ata[i,yy| |00000cc0| 43 5d 3a 3d 78 78 2a 53 | 69 6e 50 68 69 2b 79 79 |C]:=xx*S|inPhi+yy| |00000cd0| 2a 43 6f 73 50 68 69 3b | 0d 09 0d 09 69 3a 3d 69 |*CosPhi;|....i:=i| |00000ce0| 2b 31 3b 7b 67 6f 20 74 | 6f 20 74 68 65 20 6e 65 |+1;{go t|o the ne| |00000cf0| 78 74 20 72 6f 77 20 7d | 0d 0d 77 68 69 6c 65 20 |xt row }|..while | |00000d00| 28 69 3c 3d 4e 72 52 6f | 77 73 29 20 20 64 6f 09 |(i<=NrRo|ws) do.| |00000d10| 7b 63 61 6c 63 75 6c 61 | 74 65 20 74 68 65 20 70 |{calcula|te the p| |00000d20| 72 6f 6a 65 63 74 69 6f | 6e 20 66 6f 72 20 65 61 |rojectio|n for ea| |00000d30| 63 68 20 64 61 74 61 20 | 72 61 77 7d 0d 62 65 67 |ch data |raw}.beg| |00000d40| 69 6e 0d 69 66 20 20 64 | 61 74 61 6f 6b 28 69 2c |in.if d|ataok(i,| |00000d50| 78 43 6f 6c 29 20 74 68 | 65 6e 0d 62 65 67 69 6e |xCol) th|en.begin| |00000d60| 0d 09 4c 3a 3d 73 70 28 | 64 61 74 61 5b 69 2c 78 |..L:=sp(|data[i,x| |00000d70| 43 6f 6c 5d 2c 64 61 74 | 61 5b 69 2c 79 43 6f 6c |Col],dat|a[i,yCol| |00000d80| 5d 2c 64 61 74 61 5b 69 | 2c 7a 43 6f 6c 5d 2c 65 |],data[i|,zCol],e| |00000d90| 31 2c 65 32 2c 65 33 29 | 3b 0d 09 63 31 3a 3d 64 |1,e2,e3)|;..c1:=d| |00000da0| 61 74 61 5b 69 2c 78 43 | 6f 6c 5d 2d 4c 2a 65 31 |ata[i,xC|ol]-L*e1| |00000db0| 3b 63 32 3a 3d 64 61 74 | 61 5b 69 2c 79 43 6f 6c |;c2:=dat|a[i,yCol| |00000dc0| 5d 2d 4c 2a 65 32 3b 63 | 33 3a 3d 64 61 74 61 5b |]-L*e2;c|3:=data[| |00000dd0| 69 2c 7a 43 6f 6c 5d 2d | 4c 2a 65 33 3b 0d 09 78 |i,zCol]-|L*e3;..x| |00000de0| 78 3a 3d 73 70 28 63 31 | 2c 20 63 32 2c 63 33 2c |x:=sp(c1|, c2,c3,| |00000df0| 61 31 2c 61 32 2c 61 33 | 29 3b 0d 09 79 79 3a 3d |a1,a2,a3|);..yy:=| |00000e00| 73 70 28 63 31 2c 20 63 | 32 2c 63 33 2c 62 31 2c |sp(c1, c|2,c3,b1,| |00000e10| 62 32 2c 62 33 29 3b 0d | 09 64 61 74 61 5b 69 2c |b2,b3);.|.data[i,| |00000e20| 78 78 43 5d 3a 3d 78 78 | 2a 43 6f 73 50 68 69 2d |xxC]:=xx|*CosPhi-| |00000e30| 79 79 2a 53 69 6e 50 68 | 69 3b 0d 09 64 61 74 61 |yy*SinPh|i;..data| |00000e40| 5b 69 2c 79 79 43 5d 3a | 3d 78 78 2a 53 69 6e 50 |[i,yyC]:|=xx*SinP| |00000e50| 68 69 2b 79 79 2a 43 6f | 73 50 68 69 3b 0d 65 6e |hi+yy*Co|sPhi;.en| |00000e60| 64 3b 0d 09 69 3a 3d 69 | 2b 31 3b 0d 65 6e 64 3b |d;..i:=i|+1;.end;| |00000e70| 0d 65 6e 64 3b 00 00 00 | 00 00 00 00 00 00 00 00 |.end;...|........| |00000e80| 00 00 01 00 00 00 02 b9 | 00 00 01 b9 00 00 00 76 |........|.......v| |00000e90| 65 20 28 50 50 44 29 20 | 53 65 6c 65 63 74 65 64 |e (PPD) |Selected| |00000ea0| 3a 00 00 00 00 00 85 01 | 6c 00 96 01 b5 80 00 00 |:.......|l.......| |00000eb0| 0d 50 72 6f 6a 65 63 74 | 69 6f 6e 20 33 44 02 00 |.Project|ion 3D..| |00000ec0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......| |00000ed0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......| |00000ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000ef0| 00 00 ae 78 05 c4 00 00 | 00 00 00 00 03 2f 66 00 |...x....|...../f.| |00000f00| 3e 00 7a 00 aa 04 0c 50 | 72 69 6e 74 65 72 20 49 |>.z....P|rinter I| |00000f10| 6e 66 6f 00 00 00 00 00 | 3e 01 6b 00 52 01 b6 04 |nfo.....|>.k.R...| |00000f20| 04 48 65 6c 70 00 00 00 | 00 00 00 00 00 00 00 00 |.Help...|........| |00000f30| 00 81 04 00 01 f0 11 00 | 00 00 15 00 35 00 23 01 |........|....5.#.| |00000f40| 0e 01 ea 00 01 00 00 00 | 00 00 00 00 00 f0 12 00 |........|........| |00000f50| 00 00 00 e2 00 08 00 00 | 00 00 00 bc 01 6a 00 d0 |........|.....j..| |00000f60| 01 b8 04 02 4f 4b 00 00 | 00 00 00 0d 00 0d 00 2d |....OK..|.......-| |00000f70| 00 2d a0 02 e0 00 00 00 | 00 00 00 bc 00 e9 00 d0 |.-......|........| |00000f80| 00 00 00 08 00 29 00 06 | 01 dc 02 72 00 00 01 06 |.....)..|...r....| |00000f90| 00 03 00 0a 00 00 06 47 | 65 6e 65 76 61 2a 40 82 |.......G|eneva*@.| |00000fa0| c6 08 00 00 00 e6 b0 b6 | 00 d4 33 80 00 d4 33 7c |........|..3...3|| |00000fb0| 00 d4 e9 86 00 08 00 e6 | a9 24 40 82 c5 02 00 00 |........|.$@.....| |00000fc0| 00 e6 b0 b6 00 d4 33 80 | 00 d4 33 7c 00 d4 e9 6c |......3.|..3|...l| |00000fd0| 00 08 00 e6 a5 f0 00 e6 | a5 f8 00 e6 a6 00 00 d4 |........|........| |00000fe0| e9 4e 00 00 00 00 00 d4 | e9 4e 00 e6 a9 80 40 82 |.N......|.N....@.| |00000ff0| c1 d2 00 d4 e9 6c 00 08 | 00 e6 aa ac 40 82 c3 90 |.....l..|....@...| |00001000| 00 e6 a9 64 00 00 00 00 | 00 00 00 00 00 48 00 ff |...d....|.....H..| |00001010| 00 00 00 08 00 01 00 08 | 00 d7 6c 87 ff 00 00 81 |........|..l.....| |00001020| 00 08 00 00 ff ff ff ff | 00 00 00 00 00 00 00 e6 |........|........| |00001030| aa ac 40 82 c1 90 00 e6 | a9 92 40 82 00 00 00 00 |..@.....|..@.....| |00001040| 00 d4 2e 8e 00 e6 aa b4 | 40 83 19 82 00 ab 01 f4 |........|@.......| |00001050| 00 00 00 00 00 d4 33 7c | 00 c8 c3 6c 00 c8 c3 6c |......3||...l...l| |00001060| 00 e6 a9 ac 00 e6 aa ac | 00 01 00 00 00 81 ff ff |........|........| |00001070| 00 08 00 00 00 00 00 12 | 00 29 ff fd 00 0c ff 64 |........|.).....d| |00001080| 72 00 00 00 ff 00 00 03 | 00 01 40 ff 00 00 00 00 |r.......|..@.....| |00001090| 00 06 00 0b 80 00 00 00 | 00 10 00 00 00 00 00 00 |........|........| |000010a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 04 00 00 |........|........| |000010b0| 00 01 00 00 00 78 00 03 | 00 00 00 48 00 48 00 00 |.....x..|...H.H..| |000010c0| 00 00 03 00 02 4c ff f4 | ff f4 03 0c 02 58 03 47 |.....L..|.....X.G| |000010d0| 05 28 03 fc 00 02 00 00 | 00 48 00 48 00 00 00 00 |.(......|.H.H....| |000010e0| 02 da 02 28 00 01 00 00 | 00 64 00 00 00 01 00 01 |...(....|.d......| |000010f0| 01 01 00 00 00 01 27 0f | 00 01 00 01 00 00 00 00 |......'.|........| |00001100| 00 00 00 00 00 00 00 00 | 68 08 00 19 01 90 00 00 |........|h.......| |00001110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 01 00 00 |........|........| |00001120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001130| 00 07 06 70 72 6f 46 69 | 74 00 00 01 00 00 00 02 |...proFi|t.......| |00001140| b9 00 00 01 b9 00 00 00 | 76 00 d4 3a 0c 10 88 00 |........|v..:....| |00001150| 00 00 1c 00 76 00 01 66 | 49 4e 46 00 04 00 12 53 |....v..f|INF....S| |00001160| 54 52 20 00 00 00 4e 00 | 81 ff ff 00 00 00 00 00 |TR ...N.|........| |00001170| d4 31 28 00 82 ff ff 00 | 00 00 0c 00 d4 31 04 00 |.1(.....|.....1..| |00001180| 83 ff ff 00 00 01 16 00 | d4 39 f8 00 85 ff ff 00 |........|.9......| |00001190| 00 01 2a 00 d4 30 90 00 | 84 ff ff 00 00 01 32 00 |..*..0..|......2.| |000011a0| d4 31 6c bf f4 ff ff 00 | 00 01 ae 00 d4 2c c4 00 |.1l.....|.....,..| |000011b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+